package org.example;

import org.apache.shiro.crypto.hash.Md5Hash;

/**
 *
 */
public class TestShiroMD5 {
    public static void main(String[] args) {
        // 把md5的结果hash散列掉, 更加安全
        // 如果先创建再set, 那么是不会加密的, 必须在构造的时候就传进去要加密的密码。
//        Md5Hash md5Hash = new Md5Hash();
//        md5Hash.setBytes("1234".getBytes());// 这样是不行的。
        Md5Hash md5Hash = new Md5Hash("123456");
        String s = md5Hash.toHex();
        System.out.println(s);
        // md5加盐, 盐默认是加载后面的
        Md5Hash md5Hash1 = new Md5Hash("123456", "XO*7ps");// salt可以*x, 就复制好多个连上去
        System.out.println(md5Hash1.toHex());
        // System.out.println(md5Hash1);// toHex()转16进制的结果和直接toString()是一样的。
        // param3, 散列次数, 散列越多越平均
        Md5Hash md5Hash2 = new Md5Hash("123456", "XO*7ps", 1024);
        System.out.println(md5Hash2.toHex());
    }
}
